﻿using System;

namespace Kay.Communication.Framework
{
    /// <summary>
    /// 文件信息
    /// </summary>
    public class TransferFileInfo
    {
        /// <summary>
        /// 源文件名称
        /// </summary>
        public string SourceFileName { get; set; }

        /// <summary>
        /// 保存文件名
        /// </summary>
        public string FileName { get; set; }

        /// <summary>
        /// 请求
        /// </summary>
        public bool Request { get; set; }

        /// <summary>
        /// 同意
        /// </summary>
        public bool Agree { get; set; }

        /// <summary>
        /// 当前发送长度
        /// </summary>
        public long CurrentSize { get; set; }

        /// <summary>
        /// 当前发送长度
        /// </summary>
        public long LastSize { get; set; }

        /// <summary>
        /// 接收者 Id
        /// </summary>
        public string ReceiveId { get; set; }

        /// <summary>
        /// 发送者 Id
        /// </summary>
        public string SendId { get; set; }

        /// <summary>
        /// 发送者用户的 Id
        /// </summary>
        public string SendUserId { get; set; }

        /// <summary>
        /// 接收者用户的 Id
        /// </summary>
        public string ReceiveUserId { get; set; }

        /// <summary>
        /// 发送文件的客户端
        /// </summary>
        internal BaseCommunication Client { get; set; }

        /// <summary>
        /// 文件大小
        /// </summary>
        public long Size { get; set; }

        /// <summary>
        /// 是否是发送端
        /// </summary>
        internal bool IsSend { get; set; }

        /// <summary>
        /// 是否发送完毕
        /// </summary>
        internal bool IsOver { get; set; }

        /// <summary>
        /// 发送结束时间
        /// </summary>
        internal DateTime OverTime { get; set; }

        /// <summary>
        /// 文件的哈希码
        /// </summary>
        public string FileHashCode { get; set; }
    }
}